package org.rcgwt.client.ui.calendar.mvc;

import java.util.Map;

import org.rcgwt.client.ui.calendar.controller.CalendarController;
import org.rcgwt.client.ui.calendar.model.impl.CalendarModel;
import org.rcgwt.client.ui.calendar.renderer.IRenderer;
import org.rcgwt.client.ui.themes.ITheme;
import org.rcgwt.client.ui.themes.StandardTheme.RendererType;

public class CalendarContext implements ICalendarContext {

	private ITheme theme;
	private CalendarModel model;
	private Map<RendererType, IRenderer> renderers;
	private CalendarController controler;

	public CalendarContext(ITheme theme, CalendarModel model,
			Map<RendererType, IRenderer> renderers, CalendarController controler) {
		this.renderers = renderers;
		this.theme = theme;
		this.model = model;
		this.controler = controler;
	}

	@Override
	public ITheme getTheme() {
		return theme;
	}

	@Override
	public void setTheme(ITheme theme) {
		this.theme = theme;
	}

	@Override
	public Map<RendererType, IRenderer> getRenderers() {
		return renderers;
	}

	@Override
	public void setRenderers(Map<RendererType, IRenderer> renderers) {
		this.renderers = renderers;
	}

	@Override
	public CalendarModel getModel() {
		return model;
	}

	@Override
	public void setModel(CalendarModel model) {
		this.model = model;
	}

	@Override
	public CalendarController getController() {
		return controler;
	}

	@Override
	public void setControler(CalendarController c) {
		this.controler = c;
	}

}
